package com.secsbrain.development.dal.model;

import java.io.Serializable;
import java.util.Date;

import com.baomidou.mybatisplus.annotations.IdType;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;

@TableName(value = "pm_branch_type_rule")
public class BranchTypeRule implements Serializable {

	@TableField(exist = false)
	private static final long serialVersionUID = 1L;
	
	@TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 分支类型名称，如Master
     */
    @TableField(value = "branch_type_name")
    private String branchTypeName;

    /**
     * 分支名生成规则：分支名前缀
     */
    @TableField(value = "branch_name_prefix")
    private String branchNamePrefix;

    /**
     * 分支名生成规则：分支名后缀，日期格式化规则
     */
    @TableField(value = "branch_name_dateformat")
    private String branchNameDateformat;

    /**
     * 0-使用当前日期，1-使用指定日期
     */
    private Integer nowdate;

    /**
     * 是否需要加用户名后缀，0否1是
     */
    @TableField(value = "user_name_radom")
    private Integer userNameRadom;

    /**
     * 从某分支拉取的分支类型id,多个以逗号分割
     */
    @TableField(value = "branch_from_ids")
    private String branchFromIds;

    /**
     * 推送到某分支的分支类型id,多个以逗号分割
     */
    @TableField(value = "branch_to_ids")
    private String branchToIds;

    /**
     * 创建分支时是否可选，0否1是
     */
    private Integer selected;

    /**
     * dev,sit,pre，空表示不需要发布环境
     */
    @TableField(value = "env_type")
    private String envType;

    /**
     * 描述
     */
    private String description;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 创建人
     */
    @TableField(value = "create_user")
    private String createUser;

    /**
     * @return id
     */
    public Long getId() {
        return id;
    }

    /**
     * @param id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取分支类型名称，如Master
     *
     * @return branch_type_name - 分支类型名称，如Master
     */
    public String getBranchTypeName() {
        return branchTypeName;
    }

    /**
     * 设置分支类型名称，如Master
     *
     * @param branchTypeName 分支类型名称，如Master
     */
    public void setBranchTypeName(String branchTypeName) {
        this.branchTypeName = branchTypeName == null ? null : branchTypeName.trim();
    }

    /**
     * 获取分支名生成规则：分支名前缀
     *
     * @return branch_name_prefix - 分支名生成规则：分支名前缀
     */
    public String getBranchNamePrefix() {
        return branchNamePrefix;
    }

    /**
     * 设置分支名生成规则：分支名前缀
     *
     * @param branchNamePrefix 分支名生成规则：分支名前缀
     */
    public void setBranchNamePrefix(String branchNamePrefix) {
        this.branchNamePrefix = branchNamePrefix == null ? null : branchNamePrefix.trim();
    }

    /**
     * 获取分支名生成规则：分支名后缀，日期格式化规则
     *
     * @return branch_name_dateformat - 分支名生成规则：分支名后缀，日期格式化规则
     */
    public String getBranchNameDateformat() {
        return branchNameDateformat;
    }

    /**
     * 设置分支名生成规则：分支名后缀，日期格式化规则
     *
     * @param branchNameDateformat 分支名生成规则：分支名后缀，日期格式化规则
     */
    public void setBranchNameDateformat(String branchNameDateformat) {
        this.branchNameDateformat = branchNameDateformat == null ? null : branchNameDateformat.trim();
    }

    /**
     * 获取0-使用当前日期，1-使用指定日期
     *
     * @return nowdate - 0-使用当前日期，1-使用指定日期
     */
    public Integer getNowdate() {
        return nowdate;
    }

    /**
     * 设置0-使用当前日期，1-使用指定日期
     *
     * @param nowdate 0-使用当前日期，1-使用指定日期
     */
    public void setNowdate(Integer nowdate) {
        this.nowdate = nowdate;
    }

    /**
     * 获取是否需要加用户名后缀，0否1是
     *
     * @return user_name_radom - 是否需要加用户名后缀，0否1是
     */
    public Integer getUserNameRadom() {
        return userNameRadom;
    }

    /**
     * 设置是否需要加用户名后缀，0否1是
     *
     * @param userNameRadom 是否需要加用户名后缀，0否1是
     */
    public void setUserNameRadom(Integer userNameRadom) {
        this.userNameRadom = userNameRadom;
    }

    /**
     * 获取从某分支拉取的分支类型id,多个以逗号分割
     *
     * @return branch_from_ids - 从某分支拉取的分支类型id,多个以逗号分割
     */
    public String getBranchFromIds() {
        return branchFromIds;
    }

    /**
     * 设置从某分支拉取的分支类型id,多个以逗号分割
     *
     * @param branchFromIds 从某分支拉取的分支类型id,多个以逗号分割
     */
    public void setBranchFromIds(String branchFromIds) {
        this.branchFromIds = branchFromIds == null ? null : branchFromIds.trim();
    }

    /**
     * 获取推送到某分支的分支类型id,多个以逗号分割
     *
     * @return branch_to_ids - 推送到某分支的分支类型id,多个以逗号分割
     */
    public String getBranchToIds() {
        return branchToIds;
    }

    /**
     * 设置推送到某分支的分支类型id,多个以逗号分割
     *
     * @param branchToIds 推送到某分支的分支类型id,多个以逗号分割
     */
    public void setBranchToIds(String branchToIds) {
        this.branchToIds = branchToIds == null ? null : branchToIds.trim();
    }

    /**
     * 获取创建分支时是否可选，0否1是
     *
     * @return selected - 创建分支时是否可选，0否1是
     */
    public Integer getSelected() {
        return selected;
    }

    /**
     * 设置创建分支时是否可选，0否1是
     *
     * @param selected 创建分支时是否可选，0否1是
     */
    public void setSelected(Integer selected) {
        this.selected = selected;
    }

    /**
     * 获取dev,sit,pre，空表示不需要发布环境
     *
     * @return env_type - dev,sit,pre，空表示不需要发布环境
     */
    public String getEnvType() {
        return envType;
    }

    /**
     * 设置dev,sit,pre，空表示不需要发布环境
     *
     * @param envType dev,sit,pre，空表示不需要发布环境
     */
    public void setEnvType(String envType) {
        this.envType = envType == null ? null : envType.trim();
    }

    /**
     * 获取描述
     *
     * @return description - 描述
     */
    public String getDescription() {
        return description;
    }

    /**
     * 设置描述
     *
     * @param description 描述
     */
    public void setDescription(String description) {
        this.description = description == null ? null : description.trim();
    }

    /**
     * 获取创建时间
     *
     * @return create_time - 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取创建人
     *
     * @return create_user - 创建人
     */
    public String getCreateUser() {
        return createUser;
    }

    /**
     * 设置创建人
     *
     * @param createUser 创建人
     */
    public void setCreateUser(String createUser) {
        this.createUser = createUser == null ? null : createUser.trim();
    }
}